package sugar

import (
	"fmt"
	"strconv"
	"strings"
)

func ToInteger(input string) (int, error) {

	if input == "" {
		return 0, fmt.Errorf("input parameter is empty")
	}

	paramInt, err := strconv.Atoi(input)
	if err != nil {
		return 0, fmt.Errorf("input parameter '%s' is invalid: %v", input, err)
	}

	return paramInt, nil
}

func JoinWithSlash(a, b string) string {
	// 确保第一个字符串以 '/' 开头
	if !strings.HasPrefix(a, "/") {
		a = "/" + a
	}

	// 确保第二个字符串不以 '/' 开头
	if strings.HasPrefix(b, "/") {
		b = strings.TrimPrefix(b, "/")
	}

	// 确保第一个字符串以 '/' 结尾，并连接两个字符串
	if !strings.HasSuffix(a, "/") {
		a += "/"
	}

	return a + b
}